package teste;

import java.util.List;

import controle.CentralDeControle;

import modelo.EstacaoFerroviaria;
import modelo.Trilho;
import modelo.Viagem;

public class Teste1 {

	public static void main(String[] args) {
		CentralDeControle central1 = new CentralDeControle();
		
		EstacaoFerroviaria est1 = new EstacaoFerroviaria(10, 100, 1);
		EstacaoFerroviaria est2 = new EstacaoFerroviaria(20, 200, 2);
		EstacaoFerroviaria est3 = new EstacaoFerroviaria(30, 100, 3);
		EstacaoFerroviaria est4 = new EstacaoFerroviaria(10, 200, 4);
		EstacaoFerroviaria est5 = new EstacaoFerroviaria(20, 100, 5);
		EstacaoFerroviaria est6 = new EstacaoFerroviaria(30, 200, 6);
		EstacaoFerroviaria est7 = new EstacaoFerroviaria(10, 100, 7);
		EstacaoFerroviaria est8 = new EstacaoFerroviaria(20, 200, 8);
		EstacaoFerroviaria est9 = new EstacaoFerroviaria(30, 100, 9);
		EstacaoFerroviaria est0 = new EstacaoFerroviaria(10, 200, 0);
		
		
		Trilho t1 = new Trilho(est1, est4);
		Trilho t2 = new Trilho(est1, est2);
		Trilho t3 = new Trilho(est2, est3);
		Trilho t4 = new Trilho(est3, est6);
		Trilho t5 = new Trilho(est6, est4);
		Trilho t6 = new Trilho(est6, est5);
		Trilho t7 = new Trilho(est5, est7);
		Trilho t8 = new Trilho(est7, est1);
		Trilho t9 = new Trilho(est4, est5);
		
		central1.inserirEstacaoFerroviaria(est0);
		central1.inserirEstacaoFerroviaria(est1);
		central1.inserirEstacaoFerroviaria(est2);
		central1.inserirEstacaoFerroviaria(est3);
		central1.inserirEstacaoFerroviaria(est4);
		central1.inserirEstacaoFerroviaria(est5);
	}

	public boolean verificarCaminhoMesmaCentral(
			List<EstacaoFerroviaria> estacoes, Viagem viagem) {
		int origem = viagem.getOrigem();
		int destino = viagem.getDestino();
		for (EstacaoFerroviaria estacaoFerroviaria : estacoes) {

			if (estacaoFerroviaria.getId() == origem
					|| estacaoFerroviaria.getId() == destino) {
				if (estacaoFerroviaria.getId() == origem) {

				} else {
					if (estacaoFerroviaria.getId() == destino) {
						// TODO
					}
				}
			}
		}
		return false;
	}

	public String caminhoInterno(List<EstacaoFerroviaria> estacoesVizinhas,
			EstacaoFerroviaria origem, EstacaoFerroviaria destino) {
		this.caminhoInternoAux(estacoesVizinhas, origem, destino, "");
		return null;

	}

	public String caminhoInternoAux(List<EstacaoFerroviaria> estacoesVizinhas,
			EstacaoFerroviaria origem, EstacaoFerroviaria destino,
			String caminho) {
		for (EstacaoFerroviaria estacaoFerroviaria : estacoesVizinhas) {
			if (estacaoFerroviaria.getId() != origem.getId()
					&& estacaoFerroviaria.getId() == destino.getId()) {
				caminho = caminho + estacaoFerroviaria.getId();
			}
		}

		return null;
	}

}
